import {
  set_workbook,
  set_sheet,
  set_columns_name,
  save_excel,
} from './excel-utils.js'

import {
  deal_sheet_style,
  set_header_style
} from './deal-style.js'

/**
 * 支持多sheet 导出excel
 * @param headers 多sheet对应的表头
 * @param datas 数据，一个数组表示一个sheet中的数据
 * @param filename 文件名称
 * @param sheetnames sheet名称，数组格式的，数组中按次获取sheet名称
 * @param bookType 文档类型
 */
export function export_json_to_excel_sheet({
  headers,
  datas,
  filename,
  sheetnames,
  bookType,
} = {}) {
  //设置工作簿属性
  const workbook = set_workbook(workbook)
  // 遍历数据
  for (let tmp = 0; tmp <= datas.length - 1; tmp++) {
    // 获取数据(这是第一个sheet的全部数据)
    const data = datas[tmp];
    // 获取表头(这是第一个sheet的表头)
    const header = headers[tmp];
    // 创建一个sheet表
    const ws = set_sheet(workbook,sheetnames[tmp]);
      // 添加列标题并 添加列标题并设置列属性
      set_columns_name(ws,header)
    // 向sheet写入数据
    ws.addRows(data);
   
    // 设置表头样式
    set_header_style(ws)
    // 处理整个sheet表的样式
    deal_sheet_style(ws,data)
  }
   // 保存文件
   save_excel(workbook,filename,bookType)
  
}
